package com.ildepinc.persistence.interfaces;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

import com.ildepinc.persistence.enums.NewProgressiveMethod;

public interface DaoCommonBehaviour {
  PreparedStatement buildStatement() throws Exception;

  Integer doManualDmlOrDdl() throws Exception;

  ResultSet doManualSelect() throws Exception;

  JdbcConnectionBehaviour getJdbcConnection();

  Long getNewProgressive(NewProgressiveMethod newProgressiveMethod, String schemaName, String tableName,
      String columnName) throws Exception;

  String getSqlCommand();

  ArrayList<Object> getSqlParameters();

  void setJdbcConnection(JdbcConnectionBehaviour connection);

  void setSqlCommand(String sqlCommand);

  void setSqlParameters(ArrayList<Object> sqlParameters);

  void clear();
}
